

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class PractiseDate {
    public static void main(String[] args){

        /**
         * 1.获取当前时间
         * 2.格式化时间
         */
        Date date=new Date();//获取当前时间
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");//a为 am上午、pm下午标志
        System.out.println(sdf.format(date));


        /**
         * 获取当前日历时间
         */

        Calendar cal = Calendar.getInstance();//获取实例
        int day = cal.get(Calendar.DATE);//获取日期
        int month = cal.get(Calendar.MONTH) + 1;//获取月份
        int year = cal.get(Calendar.YEAR);//获取年份
        int dow = cal.get(Calendar.DAY_OF_WEEK);//获取一周里的第几天
        int dom = cal.get(Calendar.DAY_OF_MONTH);//获取一月里的第几天
        int doy = cal.get(Calendar.DAY_OF_YEAR);//获取一年内的第几天

        System.out.println("当期时间: " + cal.getTime());
        System.out.println("日期: " + day);
        System.out.println("月份: " + month);
        System.out.println("年份: " + year);
        System.out.println("一周的第几天: " + dow);  // 星期日为一周的第一天输出为 1，星期一输出为 2，以此类推
        System.out.println("一月中的第几天: " + dom);
        System.out.println("一年的第几天: " + doy);


        /**
         * 时间戳
         */
        /**
         * yyyy：年
         * MM：月
         * dd：日
         * hh：1~12小时制(1-12)
         * HH：24小时制(0-23)
         * mm：分
         * ss：秒
         * S：毫秒
         * E：星期几
         * D：一年中的第几天
         * F：一月中的第几个星期(会把这个月总共过的天数除以7)
         * w：一年中的第几个星期
         * W：一月中的第几星期(会根据实际情况来算)
         * a：上下午标识
         * k：和HH差不多，表示一天24小时制(1-24)
         * K：和hh差不多，表示一天12小时制(0-11)
         * z：表示时区
         */

        Long timeStamp = System.currentTimeMillis();  //获取当前时间戳
        SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String sd = sdf2.format(new Date(Long.parseLong(String.valueOf(timeStamp))));      // 时间戳转换成时间
        System.out.println("格式化结果：" + sd);

        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒");
        String sd2 = sdf3.format(new Date(Long.parseLong(String.valueOf(timeStamp))));
        System.out.println("格式化结果：" + sd2);
    }

}
